<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>计算机网络基础</title>
</head>

<body>
  <div id="root"></div>
</body>
<script>
  var directory = [
    {
      "@name": "第八章 网络安全基础",
      "file": [
        { "@name": "第二节 数据加密.mp4" },
        { "@name": "第—节 网络安全概述.mp4" },
        { "@name": "第六节 防火墙与入侵检测系统.mp4" },
        { "@name": "第七节 网络安全协议.mp4" },
        { "@name": "第三节 消息完整性与数字签名.mp4" },
        { "@name": "第四节 身份认证.mp4" },
        { "@name": "第五节 密钥分发中心与证书认证.mp4" }
      ]
    },
    {
      "@name": "第二章 网络应用",
      "file": [
        { "@name": "第八节 Socket编程基础.mp4" },
        { "@name": "第二节 网络应用通信基本原理.mp4" },
        { "@name": "第—节 计算机网络应用体系结构.mp4" },
        { "@name": "第六节 FTP.mp4" },
        { "@name": "第七节 P2P应用.mp4" },
        { "@name": "第三节 域名系统（DNS）.mp4" },
        { "@name": "第四节 万维网应用.mp4" },
        { "@name": "第五节 Internet电子邮件.mp4" }
      ]
    },
    {
      "@name": "第六章 物理层",
      "file": [
        { "@name": "第二节 物理介质.mp4" },
        { "@name": "第—节 数据通信基础.mp4" },
        { "@name": "第六节 物理层接口规程.mp4" },
        { "@name": "第三节 信道与信道容量.mp4" },
        { "@name": "第四节 基带传输.mp4" },
        { "@name": "第五节 频带传输.mp4" }
      ]
    },
    {
      "@name": "第七章 无线与移动网络",
      "file": [
        { "@name": "第二节 移动网络.mp4" },
        { "@name": "第六节 其他典型无线网络简介.mp4" },
        { "@name": "第三节 无线局域网IEEE 802.11.mp4" },
        { "@name": "第四节 蜂窝网络.mp4" },
        { "@name": "第五节 移动IP网络.mp4" },
        { "@name": "第一节 无线网络.mp4" }
      ]
    },
    {
      "@name": "第三章 传输层",
      "file": [
        { "@name": "第二节 传输层的复用与分解.mp4" },
        { "@name": "第三节 停-等协议与滑动窗口协议.mp4" },
        { "@name": "第四节 用户数据报协议（UDP）.mp4" },
        { "@name": "第五节 传输控制协议（TCP）.mp4" },
        { "@name": "第一节 传输层的基本服务.mp4" }
      ]
    },
    {
      "@name": "第四章 网络层",
      "file": [
        { "@name": "第二节 数据报网络与虚电路网络.mp4" },
        { "@name": "第六节 路由算法与路由协议.mp4" },
        { "@name": "第三节 网络互连与网络互连设备.mp4" },
        { "@name": "第四节 网络层拥塞控制.mp4" },
        { "@name": "第五节 Internet网络层（1）.mp4" },
        { "@name": "第五节 Internet网络层（2）.mp4" },
        { "@name": "第一节 网络层服务.mp4" }
      ]
    },
    {
      "@name": "第五章 数据链路层与局域网",
      "file": [
        { "@name": "第二节 差错控制.mp4" },
        { "@name": "第三节 多路访问控制协议.mp4" },
        { "@name": "第四节 局域网.mp4" },
        { "@name": "第五节 点对点链路协议.mp4" },
        { "@name": "第一节 数据链路层服务.mp4" }
      ]
    },
    {
      "@name": "第一章 计算机网络概述",
      "file": [
        { "@name": "第二节 计算机网络结构.mp4" },
        { "@name": "第六节 计算机网络与因特网发展简史.mp4" },
        { "@name": "第三节 数据交换技术.mp4" },
        { "@name": "第四节 计算机网络性能.mp4" },
        { "@name": "第五节 计算机网络体系结构.mp4" },
        { "@name": "第一节 计算机网络基本概念.mp4" }
      ]
    }
  ];
  var dom = document.getElementById("root");
  function createDom(data, type) {
    var html = "";
    for (var index = 0; index < data.length; index++) {
      switch (type) {
        case 'h1':
          console.log(data[index])
          html += "<div>" +
            "<h2>" + data[index]['@name'] + "</h2>"
            + createDom(data[index]['file'], 'a')
            + "</div>";
          break;
        case 'a':
          html += "<p>" + data[index]['@name'] + "</p>";
          break;

        default:
          break;
      }
    }
    return html;
  }
  dom.innerHTML = createDom(directory, 'h1');
  console.log(dom);
</script>

</html>